一般設置 Shell Script 常用在系統管理、自動化操作檔案、簡化指令寫法等,透過程式語言來減少瑣碎且麻煩的工作。改善操作系統的工作效率,絕對是雙手贊成使用!
簡單說好了,Shell Script 就是將 shell(bash)指令給寫進一個 Script(腳本),並搭配判斷、迴圈等使用,就稱之為 文件腳本。
echo 是一個印出的指令。
[root@localhost ~]# echo demo
demo
// 或
[root@localhost ~]# echo 'demo'
demo
參數-n
不要在最後自動換行-e
出現特殊字元,特別加以處理。
特殊字元
特殊字元 | 說明 |
---|---|
\a | 發出警告聲 |
\b | 刪除前一個字符 |
\c | 最後不加上換行符號 |
\f | 換行但游標停在原來的位置 |
\n | 換行字串 |
\t | 插入tab 水平定位點 |
\v | 插入垂直定位點 |
字串內有\n 加上-e
做特別處理。
[root@localhost ~]# echo "demo1\ndemo2\ndemo3"
demo1\ndemo2\ndemo3
[root@localhost ~]# echo -e "demo1\ndemo2\ndemo3"
demo1
demo2
demo3
變數是用來儲存「值」,像一個抽屜,可以存放各種值。變數分成兩種:
bash
提供了以下幾種變數,他們特點都是以大寫命名
設定一個變數名稱,以等於符號=
指定要的值,可以是字串或數值。
變數名稱 = 指定的值
設置名稱為 msg
的變數,變數值為「信件發送成功」。
[root@localhost ~]# msg="信件發送成功"
[root@localhost ~]# echo $msg
信件發送成功
read
指令可以讀取變數,會停在指令下,可以自行輸入變數值。
[root@localhost ~]# read msgerror
信件發送錯誤
[root@localhost ~]# echo $msgerror
信件發送錯誤
bash 提供了一個指令 test
可用來測試多種情況的狀態。
結果
false
true
測試 edm.php
是否為目錄?
[root@localhost ~]# ls -l edm.php
-rw-r--r--. 1 root root 0 9月 22 21:43 edm.php
[root@localhost ~]# test -d edm.php
[root@localhost ~]# echo $?
1
測試變數長度是否大於1。
[root@localhost ~]# ex="我是Sian"
[root@localhost ~]# test -n ex
[root@localhost ~]# echo $?
0
測試變數是否相等。
[root@localhost ~]# y=5
[root@localhost ~]# x=7
[root@localhost ~]# test $y -eq $x
[root@localhost ~]# echo $?
1